﻿using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;

namespace MesProjectERP.Host.MesProjectERPDomain
{
    [Table("MES_Material")]
    public partial class MES_Material : BaseEntity
    {
        /// <summary>
        ///物料ID
        /// </summary>
        [Key]
        [Display(Name = "物料ID")]
        [MaxLength(36)]
        [Column(TypeName = "varchar(36)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public Guid MaterialID { get; set; }

        /// <summary>
        ///物料编码
        /// </summary>
        [Display(Name = "物料编码")]
        [MaxLength(100)]
        [Column(TypeName = "text")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string MaterialCode { get; set; }

        /// <summary>
        ///物料名称
        /// </summary>
        [Display(Name = "物料名称")]
        [MaxLength(100)]
        [Column(TypeName = "text")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string MaterialName { get; set; }

        /// <summary>
        ///物料图片
        /// </summary>
        [Display(Name = "物料图片")]
        [Column(TypeName = "text")]
        [Editable(true)]
        public string Img { get; set; }

        /// <summary>
        ///物料分类
        /// </summary>
        [Display(Name = "物料分类")]
        [MaxLength(36)]
        [Column(TypeName = "varchar(36)")]
        [Editable(true)]
        public Guid? CatalogID { get; set; }

        /// <summary>
        ///物料类型
        /// </summary>
        [Display(Name = "物料类型")]
        [MaxLength(100)]
        [Column(TypeName = "text")]
        [Editable(true)]
        public string MaterialType { get; set; }

        /// <summary>
        ///规格型号
        /// </summary>
        [Display(Name = "规格型号")]
        [MaxLength(100)]
        [Column(TypeName = "text")]
        [Editable(true)]
        public string Specification { get; set; }

        /// <summary>
        ///单位
        /// </summary>
        [Display(Name = "单位")]
        [MaxLength(100)]
        [Column(TypeName = "text")]
        [Editable(true)]
        public string Unit { get; set; }

        /// <summary>
        ///单价
        /// </summary>
        [Display(Name = "单价")]
        [DisplayFormat(DataFormatString = "10,2")]
        [Column(TypeName = "decimal")]
        [Editable(true)]
        public decimal? Price { get; set; }

        /// <summary>
        ///备注信息
        /// </summary>
        [Display(Name = "备注信息")]
        [MaxLength(100)]
        [Column(TypeName = "text")]
        [Editable(true)]
        public string Remarks { get; set; }

        /// <summary>
        ///创建人ID
        /// </summary>
        [Display(Name = "创建人ID")]
        [Column(TypeName = "int")]
        [Editable(true)]
        public int? CreateID { get; set; }

        /// <summary>
        ///创建人
        /// </summary>
        [Display(Name = "创建人")]
        [MaxLength(100)]
        [Column(TypeName = "text")]
        [Editable(true)]
        public string Creator { get; set; }

        /// <summary>
        ///创建时间
        /// </summary>
        [Display(Name = "创建时间")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        public DateTime? CreateDate { get; set; }

        /// <summary>
        ///修改人ID
        /// </summary>
        [Display(Name = "修改人ID")]
        [Column(TypeName = "int")]
        [Editable(true)]
        public int? ModifyID { get; set; }

        /// <summary>
        ///物料群组
        /// </summary>
        [Display(Name = "物料群组")]
        [Column(TypeName = "int")]
        [Editable(true)]
        public int? MaterGroup { get; set; }

        /// <summary>
        ///修改人
        /// </summary>
        [Display(Name = "修改人")]
        [MaxLength(100)]
        [Column(TypeName = "text")]
        [Editable(true)]
        public string Modifier { get; set; }

        /// <summary>
        ///修改时间
        /// </summary>
        [Display(Name = "修改时间")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        public DateTime? ModifyDate { get; set; }


    }
}
